void main() {
  // 1. 定义列表：List 变量名 = [元素1, 元素2, ..., 元素n];
  // 1.1 需求：按序存储数字 1 2 3 4 5 6 7
  List numsList = [1, 2, 3, 4, 5, 6, 7];

  // 1.2 需求：按序存储字符串 '居家' '美食' '服饰'
  List categoryList = ['居家', '美食', '服饰'];

  // 1.3 列表中可以存储任意类型的数据
  List arr = ['xiaoming', 18, '男', true];

  // 2. 使用列表：查改增删
  // 2.1 查询：
  // 查询列表的长度（列表内部元素的个数）
  print('数据的长度为：${categoryList.length}');
  // 查询指定的元素: 列表[索引]
  print('数据的第一个元素为：${categoryList[0]}');

  // 2.2 修改：列表[索引] = 新值
  categoryList[1] = '美食大王';
  print(categoryList); //[居家, 美食大王, 服饰]

  // 2.3 新增：
  // 一次新增一个元素：列表.add(新元素)
  categoryList.add('生鲜'); //[居家, 美食大王, 服饰, 生鲜]

  // 一次新增多个元素：列表.addAll(新列表)
  categoryList.addAll([1, 3, 4, 5, 6]); //[居家, 美食大王, 服饰, 生鲜, 1, 3, 4, 5, 6]

  // 在指定位置新增元素
  categoryList.insert(2, '教育'); //[居家, 美食大王, 教育, 服饰, 生鲜, 1, 3, 4, 5, 6]

  // 2.4 删除
  // 使用元素删除
  categoryList.remove(6); //[居家, 美食大王, 教育, 服饰, 生鲜, 1, 3, 4, 5]

  // 使用索引删除
  categoryList.removeAt(5); //[居家, 美食大王, 教育, 服饰, 生鲜, 3, 4, 5]

  // 3、遍历列表
  categoryList.forEach((item){
    print(item);
  });

  print({numsList, categoryList, arr});
}
